<?php

namespace frontend\models;

use Yii;
use yii\db\Expression;

/**
 * This is the model class for table "event".
 *
 * @property int $id
 * @property string $title
 * @property string $alias
 * @property string $description
 * @property string $content
 * @property string $date_start
 * @property string $date_end
 * @property string $time_start
 * @property string $pub_date
 * @property string $prev_img
 * @property string $gallery_img
 * @property int $id_type
 * @property int $id_price
 * @property int $request
 *
 * @property EventPrice $price
 * @property Department $parentDepartment
 * @property EventType $type
 */

class Event extends \yii\db\ActiveRecord
{
    
    const BUCKET_NAME = 'ogikm-img-event';
    const DEFAULT_COVER = 'https://storage.yandexcloud.net/ogikm-cdn/vksp-default-cover.jpg';

    /**
     * {@inheritdoc}
     */
    public static function tableName()
    {
        return 'event';
    }

    /**
     * {@inheritdoc}
     */
    public function rules()
    {
        return [
            [['title', 'alias', 'id_type', 'id_price'], 'required'],
            [['title', 'alias'], 'trim'],
            [['content'], 'string'],
            [['date_start', 'date_end', 'pub_date'], 'safe'],
            [['id_type', 'id_price', 'request', 'is_pushkart', 'is_main_event', 'id_info_chanel'], 'integer'],
            [['title', 'alias', 'description', 'gallery_img', 'kassir_bo_id', 'kassir_bo_type', 'rars_info'], 'string', 'max' => 255],
            [['schedule_str'], 'string', 'max' => 512],
            [['time_start', 'prev_img'], 'string', 'max' => 45],
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'id_info_chanel' => 'Канал информации',
            'title' => 'Название событие',
            'alias' => 'Псевдоним',
            'description' => 'Краткое описание',
            'content' => 'Содержимое',
            'date_start' => 'Дата начала',
            'date_end' => 'Дата завершения',
            'time_start' => 'Время начала',
            'pub_date' => 'Дата внесения в базу',
            'prev_img' => 'Обложка',
            'gallery_img' => 'Галерея',
            'id_type' => 'ID типа',
            'id_price' => 'Ценовая категория',
            'request' => 'По запросу',
            'imageForCover' => 'Изображение для обложки',
            'imagesForGallery' => 'Изображения для галлереи',
            'kassir_bo_id' => 'КассирРу (ID мероприятия)',
            'kassir_bo_type' => 'КассирРу (тип)',
            'is_pushkart' => 'Доступно по Пушкинской карте',
            'schedule_str' => 'Расписание (строкой)',
            'rars_info' => 'Возрастная классификация',
            'is_main_event' => 'Главное событие',
        ];
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getPrice()
    {
        return $this->hasOne(EventPrice::className(), ['id' => 'id_price']);
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getType()
    {
        return $this->hasOne(EventType::className(), ['id' => 'id_type']);
    }

    public function getInfoChanel()
    {
        return $this->hasOne(InfoChanel::className(), ['id' => 'id_info_chanel']);
    }

}
